org.jboss.byteman.agent
Class TransformContext

java.lang.Object
  extended by org.jboss.byteman.agent.TransformContext

public class TransformContext
extends java.lang.Object

Class used to localise the context information employed when creating a rule from a rule script and using it to transform a method


Constructor Summary
TransformContext(RuleScript ruleScript, java.lang.String triggerClassName, java.lang.ClassLoader loader, HelperManager helperManager)
           
 
Method Summary
 Rule createRule(java.lang.String triggerMethodName, java.lang.String triggerMethodDescriptor)
          called by a check adapter to create a rule specific to a given trigger method.
 void fail(java.lang.String failMessage, java.lang.String triggerMethodName, java.lang.String triggerMethodDescriptor)
          called by a check or trigger adapter to fail a transform because of a type issue.
 java.lang.String getTriggerClassName()
           
 boolean injectIntoMethod(java.lang.String name, java.lang.String desc)
           
 Rule lookupRule(java.lang.String triggerMethodName, java.lang.String triggerMethodDescriptor)
          called by a trigger adapter to find a rule specific to a given trigger method, expects to find a rule created by the corresponding check adapter.
 boolean matchTargetMethod(int access, java.lang.String name, java.lang.String desc)
           
 void parseRule()
           
 void recordFailedTransform(java.lang.Throwable th)
           
 byte[] transform(byte[] targetClassBytes)
           
 void warn(java.lang.String triggerMethodName, java.lang.String triggerMethodDescriptor, java.lang.String warningMessage)
          called by a check adapter to warn that a transform was not possible for a potential match target.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransformContext

public TransformContext(RuleScript ruleScript,
                        java.lang.String triggerClassName,
                        java.lang.ClassLoader loader,
                        HelperManager helperManager)
Method Detail

transform

public byte[] transform(byte[] targetClassBytes)

parseRule

public void parseRule()
               throws java.lang.Exception
Throws:
java.lang.Exception

lookupRule

public Rule lookupRule(java.lang.String triggerMethodName,
                       java.lang.String triggerMethodDescriptor)
called by a trigger adapter to find a rule specific to a given trigger method, expects to find a rule created by the corresponding check adapter. if no rule is found then injection must be bypassed for this method

Parameters:
triggerMethodName -
triggerMethodDescriptor -
Returns:

createRule

public Rule createRule(java.lang.String triggerMethodName,
                       java.lang.String triggerMethodDescriptor)
called by a check adapter to create a rule specific to a given trigger method. the first such call reuses the rule created by the intiial parse. subsequent calls create a new rule.

Parameters:
triggerMethodName -
triggerMethodDescriptor -
Returns:

warn

public void warn(java.lang.String triggerMethodName,
                 java.lang.String triggerMethodDescriptor,
                 java.lang.String warningMessage)
called by a check adapter to warn that a transform was not possible for a potential match target. this inhibits injection into the method being warned about allowing other injection operations to continue.

Parameters:
warningMessage -

fail

public void fail(java.lang.String failMessage,
                 java.lang.String triggerMethodName,
                 java.lang.String triggerMethodDescriptor)
called by a check or trigger adapter to fail a transform because of a type issue. this aborts all injection into the current class not just injection into the current method.

Parameters:
failMessage -
triggerMethodName -
triggerMethodDescriptor -

recordFailedTransform

public void recordFailedTransform(java.lang.Throwable th)

matchTargetMethod

public boolean matchTargetMethod(int access,
                                 java.lang.String name,
                                 java.lang.String desc)

injectIntoMethod

public boolean injectIntoMethod(java.lang.String name,
                                java.lang.String desc)

getTriggerClassName

public java.lang.String getTriggerClassName()


Copyright © 2012. All Rights Reserved.